package com.learning.spring.aop.aspectj.annotation;

import com.learning.spring.aop.aspectj.monitor.AopMonitor;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;

/**
 * ClassName: AopAspectAnnotationAdvisor
 * Description: 切面类 (注解实现)
 * Date: 2019/4/21 15:35 【需求编号】
 *
 * @author Sam Sho
 * @version V1.0.0
 */
@Aspect
public class AopAspectAnnotationAdvisor {

    /**
     * 1- 通过注解 @Aspect 将 AopAspectAnnotationAdvisor 标识为一个切面
     * 2- @Before 定义切点和增强类型（value为目标切点表达式）
     * 3- 具体的方法体内容为增强的横切逻辑
     */
    @Before(value = "execution( * add(..))")
    public void before() {
        AopMonitor.start();
    }
}